Constructor Initialization ^^^^^ **Definition:** * Ideally, the test suite should not have a constructor. Initialization of fields should be in the setUp() method. Developers who are unaware of the purpose of setUp() method would give rise to this smell by defining a constructor for the test suite. **Code Example:** .. code-block:: java public class TagEncodingTest extends BrambleTestCase { private final CryptoComponent crypto; private final SecretKey tagKey; private final long streamNumber = 1234567890; public TagEncodingTest() { crypto = new CryptoComponentImpl(new TestSecureRandomProvider()); tagKey = TestUtils.getSecretKey(); } @Test public void testKeyAffectsTag() throws Exception { Set set = new HashSet<>(); for (int i = 0; i < 100; i++) { byte[] tag = new byte[TAG_LENGTH]; SecretKey tagKey = TestUtils.getSecretKey(); crypto.encodeTag(tag, tagKey, PROTOCOL_VERSION, streamNumber); assertTrue(set.add(new Bytes(tag))); } } ... } **References:** .. admonition:: Quality attributes * :octicon:`file-code;1em` - Code Example * :octicon:`comment-discussion;1em` - Cause and Effect * :octicon:`graph;1em` - Frequency * :octicon:`sync;1em` - Refactoring * `A survey on test practitioners' awareness of test smells `_ * `An Exploratory Study on the Refactoring of Unit Test Files in Android Applications `_ :octicon:`comment-discussion;1em` :octicon:`sync;1em` * `Automatic Identification of High-Impact Bug Report by Product and Test Code Quality `_ * `Automatic generation of smell-free unit tests `_ :octicon:`comment-discussion;1em` * `Developers perception on the severity of test smells: an empirical study `_ :octicon:`graph;1em` :octicon:`sync;1em` * `Handling Test Smells in Python: Results from a Mixed-Method Study `_ * `How are test smells treated in the wild? A tale of two empirical studies `_ :octicon:`graph;1em` * `On the Distribution of "Simple Stupid Bugs" in Unit Test Files: An Exploratory Study `_ * `On the diffusion of test smells and their relationship with test code quality of Java projects `_ :octicon:`graph;1em` * `On the distribution of test smells in open source Android applications: an exploratory study `_ :octicon:`file-code;1em` :octicon:`graph;1em` * `On the influence of Test Smells on Test Coverage `_ * `On the test smells detection: an empirical study on the jnose test accuracy `_ :octicon:`graph;1em` * `On the use of test smells for prediction of flaky tests `_ :octicon:`comment-discussion;1em` :octicon:`graph;1em` * `PyNose: A Test Smell Detector For Python `_ :octicon:`comment-discussion;1em` :octicon:`graph;1em` * `Software Unit Test Smells `_ :octicon:`file-code;1em` * `Test Smell Detection Tools: A Systematic Mapping Study `_ * `The secret life of test smells-an empirical study on test smell evolution and maintenance `_ :octicon:`graph;1em` * `Understanding Testability and Test Smells `_ * `What the Smell? An Empirical Investigation on the Distribution and Severity of Test Smells in Open Source Android Applications `_ :octicon:`file-code;1em` :octicon:`graph;1em` * `tsDetect: an open source test smells detection tool `_